package com.pac.questionnaire.service.impl;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.common.tools.StringTools;
import com.common.util.ErrorNumber;
import com.common.util.LogicException;
import com.pac.questionnaire.bean.QuestionnaireQuestionRelBean;
import com.pac.questionnaire.dao.QuestionnaireQuestionRelDao;
import com.pac.questionnaire.service.QuestionnaireQuestionRelService;

/**
 * 问卷问题关联关系service实现
 * 
 * @author lujun.chen
 * @version [版本号, 2015年2月26日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
@Service(value = "questionnaireQuestionRelService")
public class QuestionnaireQuestionRelServiceImpl implements
		QuestionnaireQuestionRelService {

	private static Logger logger = Logger
			.getLogger(QuestionnaireQuestionRelServiceImpl.class);

	@Autowired
	private QuestionnaireQuestionRelDao questionnaireQuestionRelDao;
	
	@Override
	@Transactional(propagation = Propagation.REQUIRED)
	public boolean addQuestionnaireQuestionRel(
			QuestionnaireQuestionRelBean questionnaireQuestionRelBean) {
		
		if(null==questionnaireQuestionRelBean)
		{
			logger.error("添加问卷问题关联关系出错，参数为空");
			throw new LogicException(ErrorNumber.PARAM_IS_NULL,"参数为空");
		}
		
		if(StringTools.isNull(questionnaireQuestionRelBean.getQuestionId()))
		{
			logger.error("添加问卷问题关联关系出错，问题ID为空");
			throw new LogicException(ErrorNumber.PARAM_IS_NULL,"问题ID为空");
		}
		
		if(StringTools.isNull(questionnaireQuestionRelBean.getQuestionnaireId()))
		{
			logger.error("添加问题问卷关联出错，问卷ID为空");
			throw new LogicException(ErrorNumber.PARAM_IS_NULL,"问卷ID为空");
		}
		
		return questionnaireQuestionRelDao.addQuestionnaireQuestionRel(questionnaireQuestionRelBean);
	}

	@Override
	@Transactional(propagation = Propagation.REQUIRED)
	public boolean delQuestionnaireQuestionRel(
			QuestionnaireQuestionRelBean questionnaireQuestionRelBean) {
		
		if(null==questionnaireQuestionRelBean)
		{
			logger.error("删除问卷问题关联关系出错，参数为空");
			throw new LogicException(ErrorNumber.PARAM_IS_NULL,"参数为空");
		}
		
		if(StringTools.isNull(questionnaireQuestionRelBean.getQuestionnaireId()))
		{
			logger.error("删除文件问题关联关系出错，问卷ID为空");
			throw new LogicException(ErrorNumber.PARAM_IS_NULL,"问卷ID为空");
		}
		
		boolean result = questionnaireQuestionRelDao
				.delQuestionnaireQuestionRel(questionnaireQuestionRelBean);
		
		return result;
	}

	@Override
	public int countQuestionnaireQuestion(
			QuestionnaireQuestionRelBean questionnaireQuestionRelBean) {
		
		return questionnaireQuestionRelDao
				.countQuestionnaireQuestion(questionnaireQuestionRelBean);
	}

}
